//package edu.suda.basic.mail.usingPOP3;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.Enumeration;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.Properties;
//
//import javax.activation.DataHandler;
//import javax.activation.FileDataSource;
//import javax.mail.AuthenticationFailedException;
//import javax.mail.Message;
//import javax.mail.MessagingException;
//import javax.mail.Multipart;
//import javax.mail.Session;
//import javax.mail.Transport;
//import javax.mail.internet.InternetAddress;
//import javax.mail.internet.MimeBodyPart;
//import javax.mail.internet.MimeMessage;
//import javax.mail.internet.MimeMultipart;
//public class MailMan
//{
//	private MailAccount myAccount=null;
//	private Map<String,String> contacts=null;
//	public MailMan()
//	{
//		this.myAccount=new MailAccount();
//		this.contacts=new HashMap<String,String>();
//	}
//	public MailMan(MailAccount myAccount)
//	{
//		this.myAccount=myAccount;
//	}
//
//	public String retreiveMail(MailAccount myAccount)
//	{
//		return "";
//	}
//	public void SendMail(String msg)
//	{
//		
//	}
//	public void addContact(String name,String mailAccount)
//	{
//		this.contacts.put(name, mailAccount);
//	}
//	public int sendMail(String receiver)
//	{
//		Properties props = System.getProperties();
//		props.put("mail.smtp.host", myAccount.getSmtpHost());
//		props.put("mail.smtp.auth", "true");
//
//		MailAccount auth = new MailAccount();
//
//		Session session = Session.getInstance(props, auth);
//		session.setDebug(false);
//		MimeMessage msg = new MimeMessage(session);
//		Transport trans = null;
//		try
//		{
//			fillMail(session, msg);
//			trans = session.getTransport("smtp");
//			try
//			{
//				trans.connect(smtpHost, MailAccount.HUAWEI_MAIL_USER, MailAccount.HUAWEI_MAIL_PASSWORD);																										// HUAWEI_MAIL_PASSWORD);
//			}
//			catch (AuthenticationFailedException e)
//			{
//				e.printStackTrace();
//				System.out.println("连接邮件服务器错误：");
//				return 3;
//			}
//			catch (MessagingException e)
//			{
//				System.out.println("连接邮件服务器错误：");
//				return 3;
//			}
//			Transport.send(msg);
//			trans.close();
//		}
//		catch (MessagingException mex)
//		{
//			System.out.println("发送邮件失败：");
//			mex.printStackTrace();
//			Exception ex = null;
//			if ((ex = mex.getNextException()) != null)
//			{
//				System.out.println(ex.toString());
//				ex.printStackTrace();
//			}
//			return 3;
//		}
//		finally
//		{
//			try
//			{
//				if (trans != null && trans.isConnected())
//					trans.close();
//			}
//			catch (Exception e)
//			{
//				System.out.println(e.toString());
//			}
//		}
//		System.out.println("发送邮件成功！");
//		return 0;
//	}
//	private void fillMail(Session session, MimeMessage msg) throws IOException, MessagingException
//	{
//		String fileName = null;
//		Multipart mPart = new MimeMultipart();
//		if (mailFrom != null)
//		{
//			msg.setFrom(new InternetAddress(mailFrom));
//			System.out.println("发送人Mail地址：" + mailFrom);
//		}
//		else
//		{
//			System.out.println("没有指定发送人邮件地址！");
//			return;
//		}
//		if (mailTo != null)
//		{
//			InternetAddress[] address = InternetAddress.parse(mailTo);
//			msg.setRecipients(Message.RecipientType.TO, address);
//			System.out.println("收件人Mail地址：" + mailTo);
//		}
//		else
//		{
//			System.out.println("没有指定收件人邮件地址！");
//			return;
//		}
//
//		if (mailccTo != null)
//		{
//			InternetAddress[] ccaddress = InternetAddress.parse(mailccTo);
//			System.out.println("CCMail地址：" + mailccTo);
//			msg.setRecipients(Message.RecipientType.CC, ccaddress);
//		}
//		if (mailbccTo != null)
//		{
//			InternetAddress[] bccaddress = InternetAddress.parse(mailbccTo);
//			System.out.println("BCCMail地址：" + mailbccTo);
//			msg.setRecipients(Message.RecipientType.BCC, bccaddress);
//		}
//		msg.setSubject(subject);
//		InternetAddress[] replyAddress = { new InternetAddress(mailFrom) };
//		msg.setReplyTo(replyAddress);
//		// create and fill the first message part
//		MimeBodyPart mBodyContent = new MimeBodyPart();
//		if (msgContent != null)
//			mBodyContent.setContent(msgContent, messageContentMimeType);
//		else
//			mBodyContent.setContent("", messageContentMimeType);
//		mPart.addBodyPart(mBodyContent);
//		// attach the file to the message
//		if (attachedFileList != null)
//		{
//			for (Enumeration<?> fileList = attachedFileList.elements(); fileList.hasMoreElements();)
//			{
//				fileName = (String) fileList.nextElement();
//				MimeBodyPart mBodyPart = new MimeBodyPart();
//
//				// attach the file to the message
//				FileDataSource fds = new FileDataSource(messageBasePath + fileName);
//				System.out.println("Mail发送的附件为：" + messageBasePath + fileName);
//				mBodyPart.setDataHandler(new DataHandler(fds));
//				mBodyPart.setFileName(fileName);
//				mPart.addBodyPart(mBodyPart);
//			}
//		}
//		msg.setContent(mPart);
//		msg.setSentDate(new Date());
//	}
//}